package fr.esir.imse.mapping.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import fr.esir.imse.mapping.services.MappingDSLGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMappingDSLParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'checkbox'", "'radiobutton'", "':'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=6;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__13=13;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

    // delegates
    // delegators


        public InternalMappingDSLParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMappingDSLParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMappingDSLParser.tokenNames; }
    public String getGrammarFileName() { return "../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g"; }


     
     	private MappingDSLGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(MappingDSLGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleMapping"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:60:1: entryRuleMapping : ruleMapping EOF ;
    public final void entryRuleMapping() throws RecognitionException {
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:61:1: ( ruleMapping EOF )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:62:1: ruleMapping EOF
            {
             before(grammarAccess.getMappingRule()); 
            pushFollow(FOLLOW_ruleMapping_in_entryRuleMapping61);
            ruleMapping();

            state._fsp--;

             after(grammarAccess.getMappingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMapping68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMapping"


    // $ANTLR start "ruleMapping"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:69:1: ruleMapping : ( ( rule__Mapping__QuestionsAssignment )* ) ;
    public final void ruleMapping() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:73:2: ( ( ( rule__Mapping__QuestionsAssignment )* ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:74:1: ( ( rule__Mapping__QuestionsAssignment )* )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:74:1: ( ( rule__Mapping__QuestionsAssignment )* )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:75:1: ( rule__Mapping__QuestionsAssignment )*
            {
             before(grammarAccess.getMappingAccess().getQuestionsAssignment()); 
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:76:1: ( rule__Mapping__QuestionsAssignment )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==RULE_ID) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:76:2: rule__Mapping__QuestionsAssignment
            	    {
            	    pushFollow(FOLLOW_rule__Mapping__QuestionsAssignment_in_ruleMapping94);
            	    rule__Mapping__QuestionsAssignment();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);

             after(grammarAccess.getMappingAccess().getQuestionsAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMapping"


    // $ANTLR start "entryRuleQuestion"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:88:1: entryRuleQuestion : ruleQuestion EOF ;
    public final void entryRuleQuestion() throws RecognitionException {
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:89:1: ( ruleQuestion EOF )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:90:1: ruleQuestion EOF
            {
             before(grammarAccess.getQuestionRule()); 
            pushFollow(FOLLOW_ruleQuestion_in_entryRuleQuestion122);
            ruleQuestion();

            state._fsp--;

             after(grammarAccess.getQuestionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQuestion129); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleQuestion"


    // $ANTLR start "ruleQuestion"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:97:1: ruleQuestion : ( ( rule__Question__Group__0 ) ) ;
    public final void ruleQuestion() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:101:2: ( ( ( rule__Question__Group__0 ) ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:102:1: ( ( rule__Question__Group__0 ) )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:102:1: ( ( rule__Question__Group__0 ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:103:1: ( rule__Question__Group__0 )
            {
             before(grammarAccess.getQuestionAccess().getGroup()); 
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:104:1: ( rule__Question__Group__0 )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:104:2: rule__Question__Group__0
            {
            pushFollow(FOLLOW_rule__Question__Group__0_in_ruleQuestion155);
            rule__Question__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getQuestionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleQuestion"


    // $ANTLR start "entryRuleWidget"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:116:1: entryRuleWidget : ruleWidget EOF ;
    public final void entryRuleWidget() throws RecognitionException {
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:117:1: ( ruleWidget EOF )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:118:1: ruleWidget EOF
            {
             before(grammarAccess.getWidgetRule()); 
            pushFollow(FOLLOW_ruleWidget_in_entryRuleWidget182);
            ruleWidget();

            state._fsp--;

             after(grammarAccess.getWidgetRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleWidget189); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleWidget"


    // $ANTLR start "ruleWidget"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:125:1: ruleWidget : ( ( rule__Widget__Alternatives ) ) ;
    public final void ruleWidget() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:129:2: ( ( ( rule__Widget__Alternatives ) ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:130:1: ( ( rule__Widget__Alternatives ) )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:130:1: ( ( rule__Widget__Alternatives ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:131:1: ( rule__Widget__Alternatives )
            {
             before(grammarAccess.getWidgetAccess().getAlternatives()); 
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:132:1: ( rule__Widget__Alternatives )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:132:2: rule__Widget__Alternatives
            {
            pushFollow(FOLLOW_rule__Widget__Alternatives_in_ruleWidget215);
            rule__Widget__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getWidgetAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleWidget"


    // $ANTLR start "entryRuleCheckbox"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:144:1: entryRuleCheckbox : ruleCheckbox EOF ;
    public final void entryRuleCheckbox() throws RecognitionException {
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:145:1: ( ruleCheckbox EOF )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:146:1: ruleCheckbox EOF
            {
             before(grammarAccess.getCheckboxRule()); 
            pushFollow(FOLLOW_ruleCheckbox_in_entryRuleCheckbox242);
            ruleCheckbox();

            state._fsp--;

             after(grammarAccess.getCheckboxRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCheckbox249); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCheckbox"


    // $ANTLR start "ruleCheckbox"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:153:1: ruleCheckbox : ( 'checkbox' ) ;
    public final void ruleCheckbox() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:157:2: ( ( 'checkbox' ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:158:1: ( 'checkbox' )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:158:1: ( 'checkbox' )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:159:1: 'checkbox'
            {
             before(grammarAccess.getCheckboxAccess().getCheckboxKeyword()); 
            match(input,11,FOLLOW_11_in_ruleCheckbox276); 
             after(grammarAccess.getCheckboxAccess().getCheckboxKeyword()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCheckbox"


    // $ANTLR start "entryRuleRadioButton"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:174:1: entryRuleRadioButton : ruleRadioButton EOF ;
    public final void entryRuleRadioButton() throws RecognitionException {
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:175:1: ( ruleRadioButton EOF )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:176:1: ruleRadioButton EOF
            {
             before(grammarAccess.getRadioButtonRule()); 
            pushFollow(FOLLOW_ruleRadioButton_in_entryRuleRadioButton304);
            ruleRadioButton();

            state._fsp--;

             after(grammarAccess.getRadioButtonRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRadioButton311); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRadioButton"


    // $ANTLR start "ruleRadioButton"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:183:1: ruleRadioButton : ( 'radiobutton' ) ;
    public final void ruleRadioButton() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:187:2: ( ( 'radiobutton' ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:188:1: ( 'radiobutton' )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:188:1: ( 'radiobutton' )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:189:1: 'radiobutton'
            {
             before(grammarAccess.getRadioButtonAccess().getRadiobuttonKeyword()); 
            match(input,12,FOLLOW_12_in_ruleRadioButton338); 
             after(grammarAccess.getRadioButtonAccess().getRadiobuttonKeyword()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRadioButton"


    // $ANTLR start "rule__Widget__Alternatives"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:204:1: rule__Widget__Alternatives : ( ( ruleCheckbox ) | ( ruleRadioButton ) );
    public final void rule__Widget__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:208:1: ( ( ruleCheckbox ) | ( ruleRadioButton ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==11) ) {
                alt2=1;
            }
            else if ( (LA2_0==12) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:209:1: ( ruleCheckbox )
                    {
                    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:209:1: ( ruleCheckbox )
                    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:210:1: ruleCheckbox
                    {
                     before(grammarAccess.getWidgetAccess().getCheckboxParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleCheckbox_in_rule__Widget__Alternatives375);
                    ruleCheckbox();

                    state._fsp--;

                     after(grammarAccess.getWidgetAccess().getCheckboxParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:215:6: ( ruleRadioButton )
                    {
                    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:215:6: ( ruleRadioButton )
                    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:216:1: ruleRadioButton
                    {
                     before(grammarAccess.getWidgetAccess().getRadioButtonParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleRadioButton_in_rule__Widget__Alternatives392);
                    ruleRadioButton();

                    state._fsp--;

                     after(grammarAccess.getWidgetAccess().getRadioButtonParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Widget__Alternatives"


    // $ANTLR start "rule__Question__Group__0"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:228:1: rule__Question__Group__0 : rule__Question__Group__0__Impl rule__Question__Group__1 ;
    public final void rule__Question__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:232:1: ( rule__Question__Group__0__Impl rule__Question__Group__1 )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:233:2: rule__Question__Group__0__Impl rule__Question__Group__1
            {
            pushFollow(FOLLOW_rule__Question__Group__0__Impl_in_rule__Question__Group__0422);
            rule__Question__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Question__Group__1_in_rule__Question__Group__0425);
            rule__Question__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__Group__0"


    // $ANTLR start "rule__Question__Group__0__Impl"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:240:1: rule__Question__Group__0__Impl : ( ( rule__Question__IdAssignment_0 ) ) ;
    public final void rule__Question__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:244:1: ( ( ( rule__Question__IdAssignment_0 ) ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:245:1: ( ( rule__Question__IdAssignment_0 ) )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:245:1: ( ( rule__Question__IdAssignment_0 ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:246:1: ( rule__Question__IdAssignment_0 )
            {
             before(grammarAccess.getQuestionAccess().getIdAssignment_0()); 
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:247:1: ( rule__Question__IdAssignment_0 )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:247:2: rule__Question__IdAssignment_0
            {
            pushFollow(FOLLOW_rule__Question__IdAssignment_0_in_rule__Question__Group__0__Impl452);
            rule__Question__IdAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getQuestionAccess().getIdAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__Group__0__Impl"


    // $ANTLR start "rule__Question__Group__1"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:257:1: rule__Question__Group__1 : rule__Question__Group__1__Impl rule__Question__Group__2 ;
    public final void rule__Question__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:261:1: ( rule__Question__Group__1__Impl rule__Question__Group__2 )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:262:2: rule__Question__Group__1__Impl rule__Question__Group__2
            {
            pushFollow(FOLLOW_rule__Question__Group__1__Impl_in_rule__Question__Group__1482);
            rule__Question__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Question__Group__2_in_rule__Question__Group__1485);
            rule__Question__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__Group__1"


    // $ANTLR start "rule__Question__Group__1__Impl"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:269:1: rule__Question__Group__1__Impl : ( ':' ) ;
    public final void rule__Question__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:273:1: ( ( ':' ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:274:1: ( ':' )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:274:1: ( ':' )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:275:1: ':'
            {
             before(grammarAccess.getQuestionAccess().getColonKeyword_1()); 
            match(input,13,FOLLOW_13_in_rule__Question__Group__1__Impl513); 
             after(grammarAccess.getQuestionAccess().getColonKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__Group__1__Impl"


    // $ANTLR start "rule__Question__Group__2"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:288:1: rule__Question__Group__2 : rule__Question__Group__2__Impl ;
    public final void rule__Question__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:292:1: ( rule__Question__Group__2__Impl )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:293:2: rule__Question__Group__2__Impl
            {
            pushFollow(FOLLOW_rule__Question__Group__2__Impl_in_rule__Question__Group__2544);
            rule__Question__Group__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__Group__2"


    // $ANTLR start "rule__Question__Group__2__Impl"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:299:1: rule__Question__Group__2__Impl : ( ( rule__Question__WidgetAssignment_2 ) ) ;
    public final void rule__Question__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:303:1: ( ( ( rule__Question__WidgetAssignment_2 ) ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:304:1: ( ( rule__Question__WidgetAssignment_2 ) )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:304:1: ( ( rule__Question__WidgetAssignment_2 ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:305:1: ( rule__Question__WidgetAssignment_2 )
            {
             before(grammarAccess.getQuestionAccess().getWidgetAssignment_2()); 
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:306:1: ( rule__Question__WidgetAssignment_2 )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:306:2: rule__Question__WidgetAssignment_2
            {
            pushFollow(FOLLOW_rule__Question__WidgetAssignment_2_in_rule__Question__Group__2__Impl571);
            rule__Question__WidgetAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getQuestionAccess().getWidgetAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__Group__2__Impl"


    // $ANTLR start "rule__Mapping__QuestionsAssignment"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:323:1: rule__Mapping__QuestionsAssignment : ( ruleQuestion ) ;
    public final void rule__Mapping__QuestionsAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:327:1: ( ( ruleQuestion ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:328:1: ( ruleQuestion )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:328:1: ( ruleQuestion )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:329:1: ruleQuestion
            {
             before(grammarAccess.getMappingAccess().getQuestionsQuestionParserRuleCall_0()); 
            pushFollow(FOLLOW_ruleQuestion_in_rule__Mapping__QuestionsAssignment612);
            ruleQuestion();

            state._fsp--;

             after(grammarAccess.getMappingAccess().getQuestionsQuestionParserRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Mapping__QuestionsAssignment"


    // $ANTLR start "rule__Question__IdAssignment_0"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:338:1: rule__Question__IdAssignment_0 : ( RULE_ID ) ;
    public final void rule__Question__IdAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:342:1: ( ( RULE_ID ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:343:1: ( RULE_ID )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:343:1: ( RULE_ID )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:344:1: RULE_ID
            {
             before(grammarAccess.getQuestionAccess().getIdIDTerminalRuleCall_0_0()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Question__IdAssignment_0643); 
             after(grammarAccess.getQuestionAccess().getIdIDTerminalRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__IdAssignment_0"


    // $ANTLR start "rule__Question__WidgetAssignment_2"
    // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:353:1: rule__Question__WidgetAssignment_2 : ( ruleWidget ) ;
    public final void rule__Question__WidgetAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:357:1: ( ( ruleWidget ) )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:358:1: ( ruleWidget )
            {
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:358:1: ( ruleWidget )
            // ../fr.esir.imse.mapping.ui/src-gen/fr/esir/imse/mapping/ui/contentassist/antlr/internal/InternalMappingDSL.g:359:1: ruleWidget
            {
             before(grammarAccess.getQuestionAccess().getWidgetWidgetParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleWidget_in_rule__Question__WidgetAssignment_2674);
            ruleWidget();

            state._fsp--;

             after(grammarAccess.getQuestionAccess().getWidgetWidgetParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Question__WidgetAssignment_2"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleMapping_in_entryRuleMapping61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMapping68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Mapping__QuestionsAssignment_in_ruleMapping94 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_ruleQuestion_in_entryRuleQuestion122 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQuestion129 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Question__Group__0_in_ruleQuestion155 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWidget_in_entryRuleWidget182 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWidget189 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Widget__Alternatives_in_ruleWidget215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckbox_in_entryRuleCheckbox242 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCheckbox249 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_ruleCheckbox276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRadioButton_in_entryRuleRadioButton304 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRadioButton311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_ruleRadioButton338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckbox_in_rule__Widget__Alternatives375 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRadioButton_in_rule__Widget__Alternatives392 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Question__Group__0__Impl_in_rule__Question__Group__0422 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rule__Question__Group__1_in_rule__Question__Group__0425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Question__IdAssignment_0_in_rule__Question__Group__0__Impl452 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Question__Group__1__Impl_in_rule__Question__Group__1482 = new BitSet(new long[]{0x0000000000001800L});
    public static final BitSet FOLLOW_rule__Question__Group__2_in_rule__Question__Group__1485 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Question__Group__1__Impl513 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Question__Group__2__Impl_in_rule__Question__Group__2544 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Question__WidgetAssignment_2_in_rule__Question__Group__2__Impl571 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQuestion_in_rule__Mapping__QuestionsAssignment612 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__Question__IdAssignment_0643 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWidget_in_rule__Question__WidgetAssignment_2674 = new BitSet(new long[]{0x0000000000000002L});

}